This invention relates to a method for inputting shapes of three-dimensional solid models in CAD (Computer Aided Design) and CAM (Computer Aided Manufacturing) systems in an interactive operation, and more particularly to a method for defining shapes of primitives such as a plane, cube, column or sphere in a manner of building up blocks with a cursor on a graphic display unit to thereby enhance the efficiency in solid set operation and the operability of the input.
When a shape is to be defined in the prior art CAD or CAM system, the shape is generally expressed by combining several shapes which are simple enough to be expressed by mathematical formulas according to the principle of logical operation (set operation). However, in the dies machining, the process involves many shapes which cannot be expressed fully by mathematical formula alone. A complicated shape had to be expressed therefore, by a combination of two methods; i.e. the shape is partly expressed with simple shapes which can be expressed by mathematical formulas, and partly with free-formed-surfaces which can be difined by groups of points. Since it is difficult to use the conventional set operation for such a free-formed-surface, when a mixture of shapes which can be expressed by mathematical formulas and shapes which can only be expressed by the free-formed-surfaces are to be processed to generate data for machining, separate algorithms must be prepared. This presented inconveniences in the prior art.
When dies are machining utilizing the concept of CAD/CAM or mainly by NC (Numerical Control) machining, it is critical that the method has functions flexible enough to accommodate changes requested on spot by operators. In other words, the method should reflect the operator's practical know-how such as a change in the tool path. The system for machining shapes is, in short, required to satisfy the following conditions 1 to 6.
1 The function to define shapes should be fully separated from the function to generate tool paths. PA1 2 The processing method should allow to roughly define first the domain where a shape exists, and then define in minute detail the shape therein. PA1 3 The shapes which can be expressed with mathematical expressions and the shapes which can only be expressed with free-formed-surfaces should be processed by a common processor. PA1 4 The method should permit set operation of a combination of the above two types of shapes. PA1 5 It should be easily connected to CAD system. PA1 6 Its system software should be compact.
Studies are being promoted to adapt expressions with free-formed-surfaces in modeling in order to expand the functions of CAD which were originally developed for shape modeling. The method generally attempts to unify processing by discriminating the data structure on free-formed-surfaces, and recognizing them as B-Reps (Boundary Representation). However, the method using B-Reps cannot meet the above condition 2 if CAM must perform set operation as a function because the data structure is more complicated and the processing is more cumbersome than CSG (Constructive Solid Geometry). In shape modeling, mathematical models for three-dimensional objects are built in a computer, modified to suit a requested shape, and expressed externally. Therefore, mathematical models should be prepared first by either one of the above two methods; i.e. CSG or B-Reps method. The CSG method builds solid shape models by constructing domains of closed point sets within a three-dimensional space with collection of half-space domains or one of the three-dimensional spaces which are divided by a free-formed-surface. B-Reps method, on the other hand, builds a solid shape model by supplying topological data of the points, edges, free-formed-surfaces, etc. of the object and geometric data on such elements of the topological relation as vertexes, edges and free-formed-surfaces, and creating closed two-dimensional manifolds within the three-dimensional space. Set operation can be conducted by comparing Z axes between primitives A and B as shown in FIG. 1, if considering practical condition in the shape machining, it is assumed that there is no processed shapes (shapes like an over-hang) of more than one value in the direction of the Z axis, and the domain where spaces exist is fixed from the boundary curved surfaces to the negative direction on the Z axis. More particularly, a desired shape can be obtained by selecting the maximum value of Z values in the case of union and the minimum value thereof in the case of product. But the method is not applicable to the processing of the shapes which are contradictory to the above assumption. Strictly speaking, the above method cannot realize the set operation. In the case of CSG method, as the data structure thereof is simple, high speed processing seems possible.
A free-formed-surface herein means a curved surface which cannot be expressed by a mathematical formula like F(x,y,z)=0. The surface has a group of points 2 as shown in FIG. 2 in the data structure, and if the space between points is interpolated by Coons or Bezier formula, the free-formed-surface 1 can be expressed in detail. Since free-formed-surfaces generally have complicated spaces, all the interpolation formulas to be used are the parameterized formulas. FIG. 3 shows a free-formed-surface 1 which is expressed in detail in a real space of XYZ coordinated interpolated with parameters in a parameterized space (uv coordinates). In other words, the free-formed-surface 1 is being expressed in parameterized space and cannot be recognized within a real space alone. If a free-formed-surface like this is added to CAD or CAM system as another element, it is necessary to investigate the relation with other elements such as sphere, plane or other surfaces which can be expressed with mathematical formulas. This obviously involves analysis in the real space. As stated above, because the method needs an expression out of the real space, a formidable difficulty is presented in handling free-formed-surfaces.
FIG. 3 also shows a view where the free-formed-surface 1 existing in the real space is mapped on the parameterized space, each boundary (edge) of the free-formed-surface 1 being in correspondence to each boundary of a rectangular domain 3 which indicates the free-formed-surface on the parameterized space. This relation results in the following phenomenon. As shown in FIG. 4, even if a linear interpolation is carried out on the parameterized space, it is inevitably expressed as distorted on the free-formed-surface. If this interpolation is on the tool path, pitches (pick feed) A and B of the tool on a real space cannot be set constant, but they fluctuate in width to seriously affect the machining efficiency. In the machining process, a specific domain A' may be designated for partial machining as shown in FIG. 5. But according to this method, designation of the domains cannot be clearly corresponded between the real space A' and the parameterized space A". The machining domain A' may be designated in the real space, but it cannot be (analytically) corresponded to the parameterized space A". When a curvature is extremely large as shown in FIG. 6 and if the conventional parameter interpolation is performed, the tool path TT in the left side of the figure will generate. But in practice, a different path TT' in the right side of the figure may be required. These different paths cannot be plotted by the conventional parameter interpolation.
FIG. 7 shows an embodiment of the conventional B-Reps method system.
If we imagine a solid object 200 as shown in FIG. 8, the data on the shape are inputted to a shape data input unit 10, are separated into boundary elements 201 through 209 of the solid as shown in FIG. 9 by predetermined processing procedures, and at the same time, they are separated further into structural data 21 which indicated the connections between elements and the mathematically expressible shape data 22 which indicate formulas of coordinates of vertexes, formulas of edges and formulas of faces. If the object 200 has a free-formed-surface, the free-formed-surface has the free-formed-surface data 23 which are expressible with groups of points and interpolated curved surfaces, but in this case, the free-formed-surface data 23 should always include the data on intersecting lines according to B-Reps method. The shape data 20 thus obtained are inputted to a mathematically expressible shape processing section 30 together with the data on machining information 31 such as a radius of a tool, feeding direction of a tool, cutting speed area to be processed in order to trace a data pointer. More particularly, according to B-Reps method, the boundary data of the shape elements are stored, and if the boundary is traced with dot information, it is possible to display (101) the path on screen of a display unit such as CRT, to generate (102) the NC tool path, or processing (103) mass properties on materials or sized. The B-Reps method is detrimental in that the number of data becomes enormous as the method separates a solid object into functions of boundaries, and shapes which geometrically are impossible to be defined or shapes which cannot exist three-dimension may be inputted by an erroneous input.
FIG. 10 shows the structure of an embodiment of the GSG method system in the prior art wherein data on shapes are inputted to a shape data input 10, and separated into structural data 21 and mathematically expressible shape data 22; those data included the information related to surfaces indicating boundaries. The solid object in FIG. 8 can be separated into shape elements (primitives) 210 through 212 in FIG. 11, and if the primitive 210 is subtracted from the union of the primitives 211 and 212, the solid shape 200 can be obtained. Since the CSG system needs functional information on boundaries, it cannot conventionally process free-formed-surface data, which is not included in the shape data 20. The shape data 20 are set to shape extracting processing section 40, and when the extracting processing section 40 is inputted with space information SP in accordance with processes 43 corresponding to applications such as display or generation of the tool path, it generates the shape information TS on the whole solid. More specifically, the mathematically expressible shape data 22 and the space information SP are synthesized at a mathematically expressible shape processing 41, and the the synthesized shapes SSP are in set-operation 42 with structual data 21 to thereby generate the shape information TS on the whole shape of the object. The shape information TS are processed (101) to be displayed on a screen, to generate (102) the NC tool path, to be processed (103) for mass properties, or to be processed (104) for surface intersecting operation. Simultaneously, application information S1 through S4 are outputted to indicate such processing on application and are converted into the space information SP at the processes 43. The conventional CSG method is detrimental in that it cannot be applied to a shape which includes free-formed-surfaces as it does not incorporate them within the stored shape data 20.
In the three-dimensional solid model definition according to the conventional CSG method, it is necessary to define individual elements on the whole coordinate system, and therefore it involves cumbersome steps to define such elements while checking the coordinate relation. Even if a shape is defined with the method, it is difficult to relocate it in the coordinate system to refer to the whole shape.
Since the conventional method displays only one image frame or merely changes the view points for an image frame, it was difficult to display a plural number of image frames which were not related to each other on the screen simultaneously due to the problems which frequently arose in screen segmentation or display speed. These plural frames were therefore not displayed at the same time in practice except in a few special cases. As the conventional method uses the language especially made for shape definition for input, numerical values should be inputted sequentially according to a predetermined grammer for defining a shape, presenting a formidable difficultly in imaging a shape, or inviting erroneous inputs.